#include "UapStateMap.h"

namespace tsc
{
namespace sgw
{

UapStateConnectPend* UapStateMap::mStateConnPend =
        UapStateConnectPend::instance();
UapStateConnected* UapStateMap::mStateConnected =
        UapStateConnected::instance();
UapStateMediaBearerSetupPend* UapStateMap::mStateMediaBearerSetupPend =
        UapStateMediaBearerSetupPend::instance();
UapStateMediaTransmission* UapStateMap::mStateMediaTransmission =
        UapStateMediaTransmission::instance();

/*******************************************************************************
 *
 * Constructor
 *
 ******************************************************************************/
UapStateMap::UapStateMap()
{

} // UapStateMap::UapStateMap

/*******************************************************************************
 *
 * Destructor
 *
 ******************************************************************************/
UapStateMap::~UapStateMap()
{

} // UapStateMap::~UapStateMap

UapStateBase* UapStateMap::initialState() const
{
	return mStateConnPend;
}

UapStateMap& UapStateMap::instance()
{
	static UapStateMap stateMap;
	return stateMap;
}

} // namespace sgw
} // namespace tsc
